![]() |
ALMaSS
1.0
The Animal, Landscape and Man Simulation System
|
A class to describe the goose base. More...
#include <Goose_Base.h>
Public Member Functions | |
Goose_Base (Landscape *p_L, Goose_Population_Manager *p_NPM, double a_weight, bool a_sex, APoint a_roost) | |
Goose_Base constructor. More... | |
void | Init (Goose_Population_Manager *p_NPM, double a_weight, bool a_sex, APoint a_roost) |
Intitialise object. More... | |
void | ReInit (Landscape *p_L, Goose_Population_Manager *p_NPM, double a_weight, bool a_sex, APoint a_roost) |
ReInit for object pool. More... | |
virtual | ~Goose_Base () |
Goose_Base destructor. More... | |
void | st_Dying (void) |
Behavioural state dying. More... | |
void | Explore () |
Behavioural exploration of the area to find forage. More... | |
TTypeOfGoose_BaseState | st_Forage () |
Behavioural forage. More... | |
virtual TTypeOfGoose_BaseState | st_ToRoost () |
Return to roost and assess whether to forage again that day. More... | |
APoint | GetRoost () |
Supply roost coords. More... | |
TMaxIntakeSource | GetMaxIntakeSource () |
Supply the current max intake source. More... | |
virtual void | ChangeRoost () |
Find the closest roost. More... | |
TTypeOfGoose_BaseState | st_Roost () |
Roosting until next forage or next morning. More... | |
virtual APoint | ChooseHopLoc () |
Pick a hop location point within a_dist meters - must be overridden by descendent classes. More... | |
void | EvaluateForageToHopLoc (APoint a_HopLoc) |
Do a forage evaluation from current location to a_HopLoc. More... | |
virtual void | StartDay (void) |
Do any 'housekeeping' associated with the start of day. More... | |
virtual void | BeginStep (void) |
The BeginStep is the first 'part' of the timestep that an animal can behave in. It is called once per timestep (10 minutes). More... | |
virtual void | Step (void) |
The Step is the second 'part' of the timestep that an animal can behave in. It is called continuously until all animals report that they are 'DONE'. More... | |
virtual void | EndStep (void) |
The EndStep is the third 'part' of the timestep that an animal can behave in. It is called once per timestep. More... | |
virtual void | On_Emigrate () |
Cause the bird to immediately transition to Emigrate. More... | |
double | GetBodyCondition () |
Returns the current body condition. More... | |
void | SetBodyCondition (double a_condition, unsigned a_index) |
Sets the current body condition. More... | |
void | AddBodyCondition (double a_condition) |
Alters body conditon by addition of a double value. More... | |
void | SubtractBodyCondition (double a_condition) |
Alters body conditon by subtraction of a double value. More... | |
int | GetGroupsize () |
Returns the groupsize. More... | |
double | ScaleForageToGroupsize (double a_forage) |
Scales forage to groupsize. More... | |
int | GetForageLocIndex () |
Gets for the forage location index. More... | |
GooseSpecies | GetSpecies () |
Returns the species. More... | |
bool | GetSex () |
Returns the sex. More... | |
int | GetMaxAppetiteHitTime () |
Returns m_DailyMaxAppetiteHitTime. More... | |
int | GetFlightNumber () |
Returns the total daily number of flights. More... | |
int | GetFlightDistance () |
Returns the total daily distance flown. More... | |
double | GetDailyEnergyBudget () |
Returns the daily energy budget. More... | |
double | GetDailyEnergyExpenditure () |
Returns the daily energy expenditure. More... | |
int | GetForagingTime (int a_EndForagingTime, double a_RoostLeaveTime) |
Returns the time spent foraging. More... | |
double | GetGooseMinForageRate (GooseSpecies a_species) |
Returns the minimum forage rate for the species. More... | |
double | GetMaxForageRate (double a_grain, double a_maize, double a_grass, double a_interferenceComp, bool a_iscereal, TTypesOfVegetation a_veg, bool a_stubble, TTypesOfVegetation a_prevcrop) |
Returns the max forage rate of the three different types of forage The max rate is adjusted according to feeding time in the time budget, according to the interference competition value and to the current snow depth in the landscape. More... | |
double | GetMaxIntakeRate (double a_grain, double a_maize, double a_grass) |
Returns the max intake rate of the three different types of intake. More... | |
void | SetSex (bool a_sex) |
Sets the sex. More... | |
double | GetTotalWeight () |
Returns the weight of the bird. More... | |
double | GetRoostLeaveTime () |
Returns the time when the goose leaves the roost. More... | |
void | SetFlightCost (double a_cost) |
Set the flight cost per m per g. More... | |
double | GetFlightCost () |
Get the flight costs per m per g. More... | |
void | Set_mingooseforagerate (double a_cost, GooseSpecies a_species) |
Set the mimimum tolerated forage rate for all geese. More... | |
void | Set_Indivmingooseforagerate (double a_cost) |
Set the mimimum tolerated forage rate for the individual goose. More... | |
void | Set_GooseLeavingThreshold (double a_threshold) |
Set the body condition threshold for leaving for all geese. More... | |
void | Set_GooseMaxAppetiteScaler (double a_cost) |
Set the goose appetite scale used to calculate max intake for all geese. More... | |
void | Set_GooseMaxEnergyReserveProportion (double a_prop) |
Set the maximum energy reserve proportion allowed for all geese. More... | |
void | Set_GooseKJtoFatConversion (double a_cost) |
Set the kJ to fat conversion constant for all geese. More... | |
void | Set_GooseFattoKJConversion (double a_cost) |
Set the fat to kJ conversion constant for all geese. More... | |
void | Set_GooseMinForageOpenness (double a_cost) |
Set the min forage openess for all geese. More... | |
void | Set_GooseForageDist (double sp1, double sp2, double sp3) |
Set the max forage distance from roost for all geese. More... | |
void | Set_GooseFieldForageDist (double sp1, double sp2, double sp3) |
Set the max forage distance from a field for all geese. More... | |
void | Set_GooseFollowingLikelyhood (int a_likelyhood, GooseSpeciesType a_speciestype) |
Set the followinglikelyhood. More... | |
void | Set_GooseLeavingRoost (bool a_leaving) |
Set the flag to indicate if we are coming from the roost. More... | |
void | On_MoveTo (int a_x, int a_y) |
The goose is moved to the location specified by a_x, a_y - caused by group decision. More... | |
virtual void | KillThis () |
The bird is dead of some external cause. More... | |
void | On_Bang (int a_polyid) |
The goose is scared by a bang at location. More... | |
void | On_Bang (int a_polyid, double a_scare) |
The goose is scared by a bang at location. More... | |
void | On_Migrate (TTypeOfLeaveReason a_leavereason) |
The goose is told to leave the simulation area (poss due to bad weather) More... | |
double | AdjustIntakeRateToSnowDepth (double a_intakerate) |
When there is snow, the intake rate is decreased by 10 % per cm of snow. More... | |
![]() | |
unsigned | SupplyFarmOwnerRef () |
AnimalPosition | SupplyPosition () |
APoint | SupplyPoint () |
int | SupplyPolygonRef () |
int | Supply_m_Location_x () |
int | Supply_m_Location_y () |
virtual void | CopyMyself () |
void | SetX (int a_x) |
void | SetY (int a_y) |
TAnimal (int x, int y, Landscape *L) | |
virtual void | ReinitialiseObject (int x, int y, Landscape *L) |
Used to re-use an object - must be implemented in descendent classes. More... | |
virtual int | WhatState () |
virtual void | Dying () |
void | CheckManagement (void) |
void | CheckManagementXY (int x, int y) |
virtual bool | OnFarmEvent (FarmToDo) |
![]() | |
int | GetCurrentStateNo () |
Returns the current state number. More... | |
void | SetCurrentStateNo (int a_num) |
Sets the current state number. More... | |
bool | GetStepDone () |
Returns the step done indicator flag. More... | |
void | SetStepDone (bool a_bool) |
Sets the step done indicator flag. More... | |
virtual void | ReinitialiseObject () |
Used to re-use an object - must be implemented in descendent classes. More... | |
TALMaSSObject () | |
The constructor for TALMaSSObject. More... | |
virtual | ~TALMaSSObject () |
The destructor for TALMaSSObject. More... | |
void | OnArrayBoundsError () |
Used for debugging only, tests basic object properties. More... | |
Protected Member Functions | |
TTypeOfGoose_BaseState | st_ChooseForageLocation (void) |
Selects a forage location based on past memory, or initiates an exploration. More... | |
void | FlyTo (int a_x, int a_y) |
The goose flys to the location specified by a_x, a_y. More... | |
void | FlyTo (APoint a_pt) |
The goose flys to the location specified by a_pt. More... | |
![]() | |
void | CorrectWrapRound () |
Corrects wrap around co-ordinate problems. More... | |
Protected Attributes | |
TTypeOfGoose_BaseState | CurrentGState |
Variable to record current behavioural state. More... | |
Goose_Population_Manager * | m_OurPopulationManager |
This is a time saving pointer to the correct population manager object. More... | |
bool | m_sex |
Sex of bird, true = male false = female. More... | |
GooseSpecies | m_myspecies |
Holds goose species. More... | |
GooseSpeciesType | m_myGooseSpeciesType |
Holds the goose species type. More... | |
APoint | m_MyRoost |
The current roost location. More... | |
int | m_groupsize |
The size of the group this bird represents. More... | |
double | m_weight |
The weight of the bird in gram excluding fat reserve. More... | |
double | m_weightTotal |
The weight of the bird in g including fat reserve. More... | |
int | m_forageLocCount |
The number of forage locations visited today. More... | |
double | m_BMR |
The daily BMR. More... | |
double | m_DEB |
The daily energy budget excluding flying (kJ) More... | |
double | m_DailyMaxAppetite |
The daily max kJ possible to get as intake. More... | |
int | m_DailyMaxAppetiteHitTime |
The time of day when m_DailyMaxAppetite was hit. More... | |
double | m_energyToday |
The bird's daily energy account (kJ) More... | |
TMaxIntakeSource | m_MaxIntakeSource |
Holds information about the food source which gave max intake rate. More... | |
double | m_LeaveRoostTime |
Controls the time when the goose will leave the roost. More... | |
bool | m_LeavingRoost |
Flag to indicate that we are coming from the roost. Used to control code for "following". More... | |
double | m_energyReserve |
The bird's energy reserves in grams. More... | |
double | m_Indivmingooseforagerate |
The minimum tolerable forage rate in kJ/minute for the individual. More... | |
double | m_BodyCondition [5] |
A variable describing current body condition over the past 5 days. More... | |
double | m_TheBodyCondition |
A variable describing current body condition averaged over 5 days. More... | |
unsigned | m_BodyConditionCounter |
A counter for the daily body condition. More... | |
int | m_myForageIndex |
Temporary storage for a forage location index - this is a speed optimisation. More... | |
int | m_myMemPolyID |
Temporary storage for a memory location polygon id. More... | |
GooseMemoryMap * | m_MyMemory |
The Goose Memory. More... | |
int | m_FlightNumber |
Counter for the number of flights per day. More... | |
int | m_FlightDistance |
Storage for the total distance flown per day. More... | |
![]() | |
int | m_Location_x |
int | m_Location_y |
Landscape * | m_OurLandscape |
![]() | |
int | m_CurrentStateNo |
The basic state number for all objects - '-1' indicates death. More... | |
bool | m_StepDone |
Indicates whether the iterative step code is done for this timestep. More... | |
Static Protected Attributes | |
static double | m_SnowDepth = 0.0 |
The current snow depth. Held here for speed optimization. More... | |
static double | m_flightcost = -1 |
The cost of flight per g per m in kJ. More... | |
static double | m_mingooseforagerate [gs_foobar] = { -1, -1, -1 } |
The minimum tolerable forage rate in kJ/minute for the species. More... | |
static double | m_GooseForageDist [gs_foobar] = { -1, -1, -1 } |
The maximum distance travelled from roost to forage sites for each species of goose (m) More... | |
static double | m_GooseForageDistX2 [gs_foobar] = { -1, -1, -1 } |
Double the maximum distance travelled from roost to forage sites for each species of goose (m) - this is a speed optimisation. More... | |
static double | m_GooseFieldForageDist [gs_foobar] = { -1, -1, -1 } |
The maximum distance travelled from roost to forage sites for each species of goose (m) More... | |
static double | m_GooseFieldForageDistX2 [gs_foobar] = { -1, -1, -1 } |
Double the maximum distance travelled from roost to forage sites for each species of goose (m) - this is a speed optimisation. More... | |
static double | m_GooseLeavingThreshold = -1 |
The trigger for leaving as a 5 day average of body condition. More... | |
static double | m_GooseMaxAppetiteScaler = -1 |
Scaler to determine the max kJ possible to eat per day based on non-energy reserve weight. More... | |
static double | m_GooseMaxEnergyReserveProportion = -1 |
Max proportion of weight that can be energy reserve. More... | |
static double | m_GooseKJtoFatConversion = -1 |
Conversion rate kJ to fat. More... | |
static double | m_GooseFattoKJConversion = -1 |
Conversion rate fat to kJ. More... | |
static double | m_GooseMinForageOpenness = -1 |
The minimum openness value a goose will tolerate for forage. More... | |
static int | m_followinglikelyhood [(int) gst_foobar] = { -1, -1, -1 , -1, -1, -1 } |
An attribute used to determine the chance of following or exploring when foraging. More... | |
A class to describe the goose base.
Goose_Base::Goose_Base | ( | Landscape * | p_L, |
Goose_Population_Manager * | p_NPM, | ||
double | a_weight, | ||
bool | a_sex, | ||
APoint | a_roost | ||
) |
Goose_Base constructor.
References Init().
|
virtual |
|
inline |
Alters body conditon by addition of a double value.
References m_TheBodyCondition.
Referenced by StartDay().
double Goose_Base::AdjustIntakeRateToSnowDepth | ( | double | a_intakerate | ) |
When there is snow, the intake rate is decreased by 10 % per cm of snow.
References cfg_goose_snow_scaler, m_SnowDepth, and CfgFloat::value().
Referenced by GetMaxForageRate().
|
inlinevirtual |
The BeginStep is the first 'part' of the timestep that an animal can behave in. It is called once per timestep (10 minutes).
Reimplemented from TAnimal.
References StartDay().
|
inlinevirtual |
Find the closest roost.
Reimplemented in Goose_Pinkfoot_Base, Goose_Greylag_Base, and Goose_Barnacle_Base.
|
inlinevirtual |
Pick a hop location point within a_dist meters - must be overridden by descendent classes.
Reimplemented in Goose_Pinkfoot_Base, Goose_Greylag_Base, and Goose_Barnacle_Base.
References m_MyRoost.
Referenced by Explore().
|
inlinevirtual |
The EndStep is the third 'part' of the timestep that an animal can behave in. It is called once per timestep.
Reimplemented from TAnimal.
Reimplemented in Goose_Pinkfoot_FamilyGroup, Goose_Greylag_FamilyGroup, and Goose_Barnacle_FamilyGroup.
void Goose_Base::EvaluateForageToHopLoc | ( | APoint | a_HopLoc | ) |
Do a forage evaluation from current location to a_HopLoc.
Moves along the vector between the current location and a_HopLoc testing forage for each polygon encountered along the way. This will build up the goose' memory.
[in] | a_HopLoc | A point in the landscape. |
References ALMaSS_MathFuncs::CalcDistPythagoras(), ALMaSS_MathFuncs::CalcDistPythagorasApprox(), GooseMemoryMap::CalcScore(), g_AlmassMathFuncs, Landscape::GetActualGooseGrazingForage(), Goose_Population_Manager::GetFeedingRate(), Goose_Population_Manager::GetMaizeFeedingRate(), GetMaxIntakeRate(), GooseMemoryLocation::m_foodresource, m_GooseMinForageOpenness, GooseMemoryLocation::m_grain, GooseMemoryLocation::m_grazing, TAnimal::m_Location_x, TAnimal::m_Location_y, GooseMemoryLocation::m_maize, m_MyMemory, m_MyRoost, m_myspecies, TAnimal::m_OurLandscape, m_OurPopulationManager, GooseMemoryLocation::m_polygonid, GooseMemoryLocation::m_score, GooseMemoryLocation::m_threat, APoint::m_x, GooseMemoryLocation::m_x, APoint::m_y, GooseMemoryLocation::m_y, GooseMemoryMap::MemAdd(), Landscape::SupplyBirdMaizeForage(), Landscape::SupplyBirdSeedForage(), Landscape::SupplyCentroidX(), Landscape::SupplyCentroidY(), Landscape::SupplyOpenness(), and Landscape::SupplyPolyRef().
Referenced by Goose_Barnacle_Base::ChooseHopLoc(), Goose_Greylag_Base::ChooseHopLoc(), and Goose_Pinkfoot_Base::ChooseHopLoc().
void Goose_Base::Explore | ( | ) |
Behavioural exploration of the area to find forage.
This behaviour can be invoked either from the roost or from another location. If from another location then there is an initial move followed by an exploration of the area directly on route to the chosen location. If from the roost then a distance and direction is chosen for the explore. In both cases the movement has energetic costs associated with the flight.
References ChooseHopLoc(), and FlyTo().
Referenced by st_ChooseForageLocation().
|
protected |
The goose flys to the location specified by a_pt.
References FlyTo(), APoint::m_x, and APoint::m_y.
|
protected |
The goose flys to the location specified by a_x, a_y.
Moves the bird from m_Location_x,m_Location_y to a_x,a_y. Assumes that the cost of flight is directly proportional to the distance x bird weight. The cost is calcuated and removed from the energy reserve. To save some calculation costs (sqrt is expensive in time) we use an approximation to Pythagorus accurate to around 6%. m_weightTotal is in grams and m_flightcost the cost of moving 1 gram per m, all distances in meters. NB all flying trips are assumed to take 10 minutes but the energy used is determined by the distance.
and sets the new location
and finally store the information about flight number and distance
References ALMaSS_MathFuncs::CalcDistPythagorasApprox(), g_AlmassMathFuncs, GetFlightCost(), m_energyToday, m_FlightDistance, m_FlightNumber, TAnimal::m_Location_x, and TAnimal::m_Location_y.
Referenced by Explore(), FlyTo(), On_MoveTo(), st_ChooseForageLocation(), Goose_Barnacle_Base::st_ToRoost(), Goose_Greylag_Base::st_ToRoost(), and Goose_Pinkfoot_Base::st_ToRoost().
|
inline |
|
inline |
Returns the daily energy budget.
References m_DEB.
|
inline |
Returns the daily energy expenditure.
References m_energyToday.
|
inline |
Get the flight costs per m per g.
References m_flightcost, and m_weightTotal.
Referenced by FlyTo().
|
inline |
Returns the total daily distance flown.
References m_FlightDistance.
|
inline |
Returns the total daily number of flights.
References m_FlightNumber.
|
inline |
Gets for the forage location index.
References m_myForageIndex.
Referenced by Goose_Population_Manager::GetLeader(), and st_ChooseForageLocation().
int Goose_Base::GetForagingTime | ( | int | a_EndForagingTime, |
double | a_RoostLeaveTime | ||
) |
Returns the time spent foraging.
[in] | a_EndForagingTime | The time of day where a goose hits it's daily max intake |
[in] | a_RoostLeaveTime | The time of day where a goose leaves the roost |
References TAnimal::m_OurLandscape, Landscape::SupplyDaylength(), and Landscape::Warn().
Referenced by StartDay().
|
inline |
Returns the minimum forage rate for the species.
[in] | a_species | The type of goose species |
References m_mingooseforagerate.
Referenced by st_Forage().
|
inline |
Returns the groupsize.
References m_groupsize.
Referenced by Goose_Population_Manager::DoLast(), and AOR_Probe_Goose::DoProbe().
|
inline |
Returns m_DailyMaxAppetiteHitTime.
References m_DailyMaxAppetiteHitTime.
|
inline |
Returns the max forage rate of the three different types of forage The max rate is adjusted according to feeding time in the time budget, according to the interference competition value and to the current snow depth in the landscape.
[in] | a_grain | The intake rate from the grain resource |
[in] | a_maize | The intake rate from the maize resource |
[in] | a_grass | The intake rate from the grazing resource |
[in] | a_interferenceComp | The scaler for interference competition |
[in] | a_iscereal | Flag for a cereal crop or not (false) |
[in] | a_veg | The vegetation type |
[in] | a_stubble | Flag for a crop in stubble or not (false) |
[in] | a_prevcrop | The previously sown crop |
References AdjustIntakeRateToSnowDepth(), TMaxIntakeSource::m_instubble, TMaxIntakeSource::m_iscereal, TMaxIntakeSource::m_maxintakesource, m_MaxIntakeSource, TMaxIntakeSource::m_prevsowncrop, TMaxIntakeSource::m_veg, tomis_foobar, tomis_grain, tomis_grass, tomis_maize, and tomis_sowncrop.
Referenced by st_ChooseForageLocation(), and st_Forage().
|
inline |
Returns the max intake rate of the three different types of intake.
[in] | a_grain | The intake rate from the grain resource kJ/min |
[in] | a_maize | The intake rate from the maize resource kJ/min |
[in] | a_grass | The intake rate from the grazing resource kJ/min |
Referenced by EvaluateForageToHopLoc(), and st_ChooseForageLocation().
|
inline |
Supply the current max intake source.
References m_MaxIntakeSource.
Referenced by Goose_Population_Manager::DoLast().
|
inline |
|
inline |
Returns the time when the goose leaves the roost.
References m_LeaveRoostTime.
|
inline |
|
inline |
|
inline |
void Goose_Base::Init | ( | Goose_Population_Manager * | p_NPM, |
double | a_weight, | ||
bool | a_sex, | ||
APoint | a_roost | ||
) |
Intitialise object.
Assigns the pointer to the population manager.
Sets the initial state.
Sets the sex.
Sets the weight.
Calculates BMR
References cfg_goose_BMRconstant1, cfg_goose_BMRconstant2, cfg_goose_InitialEnergyReserveProportion, cfg_goose_pf_springmigdateend, cfg_goose_pf_springmigdatestart, APoint::m_x, APoint::m_y, togs_InitialState, tomis_foobar, CfgInt::value(), and CfgFloat::value().
Referenced by Goose_Base(), Goose_Barnacle_Base::Init(), Goose_Greylag_Base::Init(), Goose_Pinkfoot_Base::Init(), and ReInit().
|
virtual |
The bird is dead of some external cause.
Kill this for single animal agents is straightforward. We need to remove the bird from the forage area if any.
Reimplemented from TAnimal.
Reimplemented in Goose_Pinkfoot_FamilyGroup, Goose_Greylag_FamilyGroup, and Goose_Barnacle_FamilyGroup.
References TAnimal::KillThis(), m_myForageIndex, m_myGooseSpeciesType, m_OurPopulationManager, and Goose_Population_Manager::RemoveGeeseFromForageLocation().
void Goose_Base::On_Bang | ( | int | a_polyid | ) |
The goose is scared by a bang at location.
The goose has heard a shot. It remembers the location the shot came from as bad and flies away to find another place to forage. This version assumes the scare value is a constant 1.0. The first test is because the shot might have killed it already!
[in] | a_polyid | The polygon id from where the shot was fired. |
We have been scared off, so we the correct number of geese at that location before we fly off to find a new forage location
References ALMaSS_MathFuncs::CalcDistPythagorasApprox(), GooseMemoryMap::CalcScore(), GooseMemoryMap::ChangeAddThreat(), CurrentGState, g_AlmassMathFuncs, TALMaSSObject::m_CurrentStateNo, GooseMemoryLocation::m_foodresource, m_groupsize, m_myForageIndex, m_myGooseSpeciesType, m_MyMemory, m_MyRoost, TAnimal::m_OurLandscape, m_OurPopulationManager, GooseMemoryLocation::m_polygonid, GooseMemoryLocation::m_score, GooseMemoryLocation::m_threat, APoint::m_x, GooseMemoryLocation::m_x, APoint::m_y, GooseMemoryLocation::m_y, GooseMemoryMap::MemAdd(), Goose_Population_Manager::RemoveGeeseFromForageLocation(), st_ChooseForageLocation(), Landscape::SupplyCentroidX(), and Landscape::SupplyCentroidY().
Referenced by Goose_Population_Manager::BangAtPoly().
void Goose_Base::On_Bang | ( | int | a_polyid, |
double | a_scare | ||
) |
The goose is scared by a bang at location.
The goose has heard a shot. It remembers the location the shot came from as bad and flies away to find another place to forage. This version allows a variable scare value to be remembered. The first test is because the shot might have killed it already!
[in] | a_polyid | The polygon id from where the shot was fired. |
[in] | a_scare | The scare value. |
We have been scared off, so we the correct number of geese at that location before we fly off to find a new forage location
References ALMaSS_MathFuncs::CalcDistPythagorasApprox(), GooseMemoryMap::CalcScore(), GooseMemoryMap::ChangeAddThreat(), CurrentGState, g_AlmassMathFuncs, TALMaSSObject::m_CurrentStateNo, GooseMemoryLocation::m_foodresource, m_groupsize, m_myForageIndex, m_myGooseSpeciesType, m_MyMemory, m_MyRoost, TAnimal::m_OurLandscape, m_OurPopulationManager, GooseMemoryLocation::m_polygonid, GooseMemoryLocation::m_score, GooseMemoryLocation::m_threat, APoint::m_x, GooseMemoryLocation::m_x, APoint::m_y, GooseMemoryLocation::m_y, GooseMemoryMap::MemAdd(), Goose_Population_Manager::RemoveGeeseFromForageLocation(), st_ChooseForageLocation(), Landscape::SupplyCentroidX(), and Landscape::SupplyCentroidY().
|
inlinevirtual |
void Goose_Base::On_Migrate | ( | TTypeOfLeaveReason | a_leavereason | ) |
The goose is told to leave the simulation area (poss due to bad weather)
We need to migrate out of the simulation and record the reason for leaving. This is currently done by killing the bird. No birds are migrating back into the simulation.
[in] | a_leavereason | The reason for leaving. One of the values in the enum TTypeOfLeaveReason. |
References CurrentGState, m_myGooseSpeciesType, m_OurPopulationManager, Goose_Population_Manager::RecordLeaveReason(), and togs_Die.
Referenced by StartDay(), Goose_Barnacle_FamilyGroup::Step(), Goose_Barnacle_NonBreeder::Step(), Goose_Greylag_FamilyGroup::Step(), Goose_Greylag_NonBreeder::Step(), Goose_Pinkfoot_FamilyGroup::Step(), and Goose_Pinkfoot_NonBreeder::Step().
|
inline |
void Goose_Base::ReInit | ( | Landscape * | p_L, |
Goose_Population_Manager * | p_NPM, | ||
double | a_weight, | ||
bool | a_sex, | ||
APoint | a_roost | ||
) |
ReInit for object pool.
References Init(), and TALMaSSObject::ReinitialiseObject().
Referenced by Goose_Barnacle_Base::ReInit(), Goose_Greylag_Base::ReInit(), and Goose_Pinkfoot_Base::ReInit().
|
inline |
|
inline |
Set the fat to kJ conversion constant for all geese.
References m_GooseFattoKJConversion.
Referenced by Goose_Population_Manager::Goose_Population_Manager().
|
inline |
Set the max forage distance from a field for all geese.
References m_GooseFieldForageDist, and m_GooseFieldForageDistX2.
Referenced by Goose_Population_Manager::Goose_Population_Manager().
|
inline |
Set the followinglikelyhood.
References m_followinglikelyhood.
Referenced by Goose_Population_Manager::Goose_Population_Manager().
|
inline |
Set the max forage distance from roost for all geese.
References m_GooseForageDist, and m_GooseForageDistX2.
Referenced by Goose_Population_Manager::Goose_Population_Manager().
|
inline |
Set the kJ to fat conversion constant for all geese.
References m_GooseKJtoFatConversion.
Referenced by Goose_Population_Manager::Goose_Population_Manager().
|
inline |
Set the flag to indicate if we are coming from the roost.
References m_LeavingRoost.
Referenced by Goose_Population_Manager::Goose_Population_Manager(), st_ChooseForageLocation(), and st_Roost().
|
inline |
Set the body condition threshold for leaving for all geese.
References m_GooseLeavingThreshold.
Referenced by Goose_Population_Manager::Goose_Population_Manager().
|
inline |
Set the goose appetite scale used to calculate max intake for all geese.
References m_GooseMaxAppetiteScaler.
Referenced by Goose_Population_Manager::Goose_Population_Manager().
|
inline |
Set the maximum energy reserve proportion allowed for all geese.
References m_GooseMaxEnergyReserveProportion.
Referenced by Goose_Population_Manager::Goose_Population_Manager().
|
inline |
Set the min forage openess for all geese.
References m_GooseMinForageOpenness.
Referenced by Goose_Population_Manager::Goose_Population_Manager().
|
inline |
Set the mimimum tolerated forage rate for the individual goose.
References m_Indivmingooseforagerate.
Referenced by Goose_Population_Manager::Goose_Population_Manager(), st_Forage(), and StartDay().
|
inline |
Set the mimimum tolerated forage rate for all geese.
References m_mingooseforagerate.
Referenced by Goose_Population_Manager::Goose_Population_Manager(), and StartDay().
|
inline |
|
inline |
Set the flight cost per m per g.
References m_flightcost.
Referenced by Goose_Population_Manager::Goose_Population_Manager().
|
inline |
|
protected |
Selects a forage location based on past memory, or initiates an exploration.
Depending on the rules in force we probably only want to follow geese from our own species, and maybe from our own roost
First searches memory for the best forage location remembered. If it finds one then it flies there and calculates the energetic cost. If no suitable memory is found then initiates an exploration.
Once the goose arrives at a forage location it needs to add itself to the geese already there, or initiate a forage location if one does not exist.
References Goose_Population_Manager::AddGeeseToForageLocation(), ALMaSS_MathFuncs::CalcDistPythagorasApprox(), GooseMemoryMap::CalcScore(), cfg_goose_AfterDarkTime, GooseMemoryMap::ChangeSetFoodRes(), Explore(), FlyTo(), Goose_Population_Manager::ForageLocationInUse(), g_AlmassMathFuncs, g_msg, g_rand_uni2, Landscape::GetActualGooseGrazingForage(), GooseMemoryMap::GetBestFeedingScore(), Goose_Population_Manager::GetBirdsAtForageLoc(), Goose_Population_Manager::GetDayTime(), Goose_Population_Manager::GetFeedingRate(), Goose_Population_Manager::GetForageGooseDensity(), Goose_Population_Manager::GetForageLocation(), GetForageLocIndex(), Goose_Population_Manager::GetForageLocIndex(), Goose_Population_Manager::GetForageRateDensity(), GooseActiveForageLocation::GetGrainDensity(), GooseActiveForageLocation::GetGrazing(), Goose_Population_Manager::GetLeader(), GooseActiveForageLocation::GetMaizeDensity(), Goose_Population_Manager::GetMaizeFeedingRate(), GetMaxForageRate(), GetMaxIntakeRate(), GooseActiveForageLocation::GetPolygonref(), GooseMemoryMap::IsKnownArea(), m_followinglikelyhood, GooseMemoryLocation::m_foodresource, m_forageLocCount, GooseMemoryLocation::m_grain, GooseMemoryLocation::m_grazing, m_groupsize, m_Indivmingooseforagerate, m_LeavingRoost, TAnimal::m_Location_x, TAnimal::m_Location_y, GooseMemoryLocation::m_maize, m_myForageIndex, m_myGooseSpeciesType, m_MyMemory, m_myMemPolyID, m_MyRoost, m_myspecies, TAnimal::m_OurLandscape, m_OurPopulationManager, GooseMemoryLocation::m_polygonid, GooseMemoryLocation::m_score, GooseMemoryLocation::m_threat, APoint::m_x, GooseMemoryLocation::m_x, APoint::m_y, GooseMemoryLocation::m_y, GooseMemoryMap::MemAdd(), Goose_Population_Manager::NewForageLocation(), Goose_Population_Manager::RecordState(), Set_GooseLeavingRoost(), Landscape::SupplyBirdMaizeForage(), Landscape::SupplyBirdSeedForage(), Landscape::SupplyCentroid(), Landscape::SupplyCentroidX(), Landscape::SupplyCentroidY(), Landscape::SupplyDayInYear(), Landscape::SupplyDaylength(), Landscape::SupplyInStubble(), Landscape::SupplyIsCereal2(), Landscape::SupplyLastSownVeg(), Landscape::SupplyPolyRef(), Landscape::SupplyVegType(), togs_ChooseForageLocation, togs_Forage, togs_ToRoost, CfgInt::value(), and MapErrorMsg::Warn().
Referenced by On_Bang(), Goose_Barnacle_FamilyGroup::Step(), Goose_Barnacle_NonBreeder::Step(), Goose_Greylag_FamilyGroup::Step(), Goose_Greylag_NonBreeder::Step(), Goose_Pinkfoot_FamilyGroup::Step(), and Goose_Pinkfoot_NonBreeder::Step().
void Goose_Base::st_Dying | ( | void | ) |
Behavioural state dying.
References TALMaSSObject::m_CurrentStateNo, m_MyMemory, and TALMaSSObject::m_StepDone.
Referenced by Goose_Barnacle_FamilyGroup::Step(), Goose_Barnacle_NonBreeder::Step(), Goose_Greylag_FamilyGroup::Step(), Goose_Greylag_NonBreeder::Step(), Goose_Pinkfoot_FamilyGroup::Step(), and Goose_Pinkfoot_NonBreeder::Step().
TTypeOfGoose_BaseState Goose_Base::st_Forage | ( | ) |
Behavioural forage.
Must assess the competition status here (must be at a forage location to call this state). If the forage rate resulting from competition and forage availability is too low then the bird will move the flock/family, otherwise it will signal feeding at a certain rate. The forage loss will need to be calculated and sent to the LE polygon (foragae location) in question. This is done immediately since it will influence the forage assessment of birds not yet considered in this step (assumed to come later).
The first things is to check if we are near the end of daylight, if so then fly to roost.
If the goose has eaten all it can in a day, then it just rests on the field until evening.
Get the grain and forage density - NB is in KJ, which needs to be to needs to be remembered.
Here we do the forage calculation.The intake rate depends on : -1 The grain or grazing resource available -2 The relationship between resource and intake rate.This is dependent on the species and family or non - breeder. It also depends on the type of resource, i.e. the response for grain is different than for grazing. -3 The number of geese which will determine an interference competition factor, which reduces intake rate
Then decide if this is OK or not. The simplest here is to compare to a standard intake rate threshold for the species/type combination.
If can't get our required forage rate then try to find somewhere that we can, and if we find a place that cannot meet our requirements then we want to forget this place fast.
No food here, so lower the acceptable level of MFR
If the goose decides to move on immediately then it must deregister itself or group with the population manager at this forage location. This is done by using RemoveGeeseFromForageLocation
If OK then how long should we feed?
There are three constraints:
References cfg_goose_AfterDarkTime, cfg_goose_MinForageRateDecayRate, GooseMemoryMap::ChangeSetFoodRes(), g_msg, Landscape::GetActualGooseGrazingForage(), Goose_Population_Manager::GetBirdsAtForageLoc(), Goose_Population_Manager::GetDayTime(), Goose_Population_Manager::GetFeedingRate(), Goose_Population_Manager::GetForageGooseDensity(), Goose_Population_Manager::GetForageRateDensity(), GetGooseMinForageRate(), Goose_Population_Manager::GetMaizeFeedingRate(), GetMaxForageRate(), m_DailyMaxAppetite, m_DailyMaxAppetiteHitTime, m_energyToday, Goose_Population_Manager::m_GooseForageLocations, m_groupsize, m_Indivmingooseforagerate, TMaxIntakeSource::m_maxintakesource, m_MaxIntakeSource, m_myForageIndex, m_myGooseSpeciesType, m_MyMemory, m_myMemPolyID, m_myspecies, TAnimal::m_OurLandscape, m_OurPopulationManager, GooseMemoryMap::MemDel(), Goose_Population_Manager::RemoveGeeseFromForageLocation(), Goose_Population_Manager::RemoveMaxForageKj(), ScaleForageToGroupsize(), Set_Indivmingooseforagerate(), Landscape::SupplyBirdMaizeForage(), Landscape::SupplyBirdSeedForage(), Landscape::SupplyDaylength(), Landscape::SupplyInStubble(), Landscape::SupplyIsCereal2(), Landscape::SupplyLastSownVeg(), Landscape::SupplyVegType(), togs_ChooseForageLocation, togs_Forage, togs_ToRoost, CfgInt::value(), CfgFloat::value(), and MapErrorMsg::Warn().
Referenced by Goose_Barnacle_FamilyGroup::Step(), Goose_Barnacle_NonBreeder::Step(), Goose_Greylag_FamilyGroup::Step(), Goose_Greylag_NonBreeder::Step(), Goose_Pinkfoot_FamilyGroup::Step(), and Goose_Pinkfoot_NonBreeder::Step().
TTypeOfGoose_BaseState Goose_Base::st_Roost | ( | ) |
Roosting until next forage or next morning.
Assesses whether it is daylight and time to leave the roost. If not it continues to roost.
m_LeaveRoostTime is a way to stagger the birds leaving the roost. Each birds has its own leave time set each day.
References Goose_Population_Manager::GetDayTime(), Goose_Population_Manager::GetIsDaylight(), m_LeaveRoostTime, m_OurPopulationManager, Set_GooseLeavingRoost(), togs_ChooseForageLocation, and togs_Roost.
Referenced by Goose_Barnacle_FamilyGroup::Step(), Goose_Barnacle_NonBreeder::Step(), Goose_Greylag_FamilyGroup::Step(), Goose_Greylag_NonBreeder::Step(), Goose_Pinkfoot_FamilyGroup::Step(), and Goose_Pinkfoot_NonBreeder::Step().
|
virtual |
Return to roost and assess whether to forage again that day.
Reimplemented in Goose_Pinkfoot_Base, Goose_Greylag_Base, and Goose_Barnacle_Base.
References togs_foobar.
|
virtual |
Do any 'housekeeping' associated with the start of day.
References AddBodyCondition(), cfg_goose_daytime_BMR_multiplier, cfg_goose_nighttime_BMR_multiplier, GooseMemoryMap::DecayAllMemory(), Goose_Population_Manager::GetDayTime(), GetForagingTime(), Goose_Population_Manager::GetThermalCosts(), m_BMR, m_BodyCondition, m_BodyConditionCounter, m_DailyMaxAppetiteHitTime, m_DEB, m_energyReserve, m_energyToday, m_FlightDistance, m_FlightNumber, m_forageLocCount, m_GooseFattoKJConversion, m_GooseKJtoFatConversion, m_GooseLeavingThreshold, m_GooseMaxEnergyReserveProportion, m_groupsize, m_LeaveRoostTime, m_MyMemory, m_myspecies, TAnimal::m_OurLandscape, m_OurPopulationManager, m_SnowDepth, m_TheBodyCondition, Goose_Population_Manager::m_variate_generator, m_weight, m_weightTotal, On_Migrate(), Goose_Population_Manager::RecordDailyEnergyBalance(), Goose_Population_Manager::RecordDailyEnergyBudget(), Goose_Population_Manager::RecordFlightDistance(), Goose_Population_Manager::RecordForagingTime(), Goose_Population_Manager::RecordIndForageLoc(), Goose_Population_Manager::RecordWeight(), Set_Indivmingooseforagerate(), Set_mingooseforagerate(), SetBodyCondition(), SubtractBodyCondition(), Landscape::SupplyDaylightProp(), Landscape::SupplyNightProp(), Landscape::SupplySnowDepth(), tolr_bodycondition, tolr_leanweight, and CfgFloat::value().
Referenced by BeginStep().
|
virtual |
The Step is the second 'part' of the timestep that an animal can behave in. It is called continuously until all animals report that they are 'DONE'.
Reimplemented from TAnimal.
Reimplemented in Goose_Pinkfoot_NonBreeder, Goose_Pinkfoot_FamilyGroup, Goose_Greylag_NonBreeder, Goose_Greylag_FamilyGroup, Goose_Barnacle_NonBreeder, and Goose_Barnacle_FamilyGroup.
References TAnimal::m_OurLandscape, and Landscape::Warn().
|
inline |
Alters body conditon by subtraction of a double value.
References m_TheBodyCondition.
Referenced by StartDay().
|
protected |
Variable to record current behavioural state.
A Goose_Base must have some simple functionality: Inititation Movement Dying
Inherits m_Location_x, m_Location_y, m_OurLandscape from TAnimal NB All areas are squares of size length X length
Referenced by On_Bang(), On_Emigrate(), On_Migrate(), Goose_Barnacle_FamilyGroup::Step(), Goose_Barnacle_NonBreeder::Step(), Goose_Greylag_FamilyGroup::Step(), Goose_Greylag_NonBreeder::Step(), Goose_Pinkfoot_FamilyGroup::Step(), and Goose_Pinkfoot_NonBreeder::Step().
|
protected |
The daily BMR.
Referenced by Goose_Barnacle_Base::Init(), Goose_Greylag_Base::Init(), Goose_Pinkfoot_Base::Init(), and StartDay().
|
protected |
A variable describing current body condition over the past 5 days.
Referenced by SetBodyCondition(), and StartDay().
|
protected |
A counter for the daily body condition.
Referenced by StartDay().
|
protected |
The daily max kJ possible to get as intake.
Referenced by Goose_Barnacle_Base::Init(), Goose_Greylag_Base::Init(), Goose_Pinkfoot_Base::Init(), and st_Forage().
|
protected |
The time of day when m_DailyMaxAppetite was hit.
Referenced by GetMaxAppetiteHitTime(), st_Forage(), and StartDay().
|
protected |
The daily energy budget excluding flying (kJ)
Referenced by GetDailyEnergyBudget(), Goose_Barnacle_Base::Init(), Goose_Greylag_Base::Init(), Goose_Pinkfoot_Base::Init(), and StartDay().
|
protected |
The bird's energy reserves in grams.
Referenced by StartDay().
|
protected |
The bird's daily energy account (kJ)
Referenced by FlyTo(), GetDailyEnergyExpenditure(), st_Forage(), and StartDay().
|
staticprotected |
The cost of flight per g per m in kJ.
but with correct values.
Referenced by GetFlightCost(), and SetFlightCost().
|
protected |
Storage for the total distance flown per day.
Referenced by FlyTo(), GetFlightDistance(), and StartDay().
|
protected |
Counter for the number of flights per day.
Referenced by FlyTo(), GetFlightNumber(), and StartDay().
|
staticprotected |
An attribute used to determine the chance of following or exploring when foraging.
Referenced by Set_GooseFollowingLikelyhood(), and st_ChooseForageLocation().
|
protected |
The number of forage locations visited today.
Referenced by st_ChooseForageLocation(), and StartDay().
|
staticprotected |
Conversion rate fat to kJ.
Referenced by Set_GooseFattoKJConversion(), and StartDay().
|
staticprotected |
The maximum distance travelled from roost to forage sites for each species of goose (m)
Referenced by Goose_Barnacle_Base::ChooseHopLoc(), Goose_Pinkfoot_Base::ChooseHopLoc(), and Set_GooseFieldForageDist().
|
staticprotected |
Double the maximum distance travelled from roost to forage sites for each species of goose (m) - this is a speed optimisation.
Referenced by Goose_Barnacle_Base::ChooseHopLoc(), Goose_Pinkfoot_Base::ChooseHopLoc(), and Set_GooseFieldForageDist().
|
staticprotected |
The maximum distance travelled from roost to forage sites for each species of goose (m)
Referenced by Goose_Barnacle_Base::ChooseHopLoc(), Goose_Greylag_Base::ChooseHopLoc(), Goose_Pinkfoot_Base::ChooseHopLoc(), and Set_GooseForageDist().
|
staticprotected |
Double the maximum distance travelled from roost to forage sites for each species of goose (m) - this is a speed optimisation.
Referenced by Goose_Barnacle_Base::ChooseHopLoc(), Goose_Greylag_Base::ChooseHopLoc(), Goose_Pinkfoot_Base::ChooseHopLoc(), and Set_GooseForageDist().
|
staticprotected |
Conversion rate kJ to fat.
Referenced by Set_GooseKJtoFatConversion(), and StartDay().
|
staticprotected |
The trigger for leaving as a 5 day average of body condition.
Referenced by Set_GooseLeavingThreshold(), and StartDay().
|
staticprotected |
Scaler to determine the max kJ possible to eat per day based on non-energy reserve weight.
Referenced by Goose_Barnacle_Base::Init(), Goose_Greylag_Base::Init(), Goose_Pinkfoot_Base::Init(), and Set_GooseMaxAppetiteScaler().
|
staticprotected |
Max proportion of weight that can be energy reserve.
Referenced by Set_GooseMaxEnergyReserveProportion(), and StartDay().
|
staticprotected |
The minimum openness value a goose will tolerate for forage.
Referenced by EvaluateForageToHopLoc(), and Set_GooseMinForageOpenness().
|
protected |
The size of the group this bird represents.
Referenced by GetGroupsize(), Goose_Barnacle_NonBreeder::Init(), Goose_Greylag_NonBreeder::Init(), Goose_Pinkfoot_NonBreeder::Init(), Goose_Barnacle_FamilyGroup::Init(), Goose_Greylag_FamilyGroup::Init(), Goose_Pinkfoot_FamilyGroup::Init(), Goose_Barnacle_FamilyGroup::KillThis(), Goose_Greylag_FamilyGroup::KillThis(), Goose_Pinkfoot_FamilyGroup::KillThis(), On_Bang(), ScaleForageToGroupsize(), st_ChooseForageLocation(), st_Forage(), Goose_Barnacle_Base::st_ToRoost(), Goose_Greylag_Base::st_ToRoost(), Goose_Pinkfoot_Base::st_ToRoost(), and StartDay().
|
protected |
The minimum tolerable forage rate in kJ/minute for the individual.
Referenced by Set_Indivmingooseforagerate(), st_ChooseForageLocation(), and st_Forage().
|
protected |
Controls the time when the goose will leave the roost.
Referenced by GetRoostLeaveTime(), st_Roost(), and StartDay().
|
protected |
Flag to indicate that we are coming from the roost. Used to control code for "following".
Referenced by Set_GooseLeavingRoost(), and st_ChooseForageLocation().
|
protected |
Holds information about the food source which gave max intake rate.
Referenced by GetMaxForageRate(), GetMaxIntakeSource(), and st_Forage().
|
staticprotected |
The minimum tolerable forage rate in kJ/minute for the species.
Referenced by GetGooseMinForageRate(), and Set_mingooseforagerate().
|
protected |
Temporary storage for a forage location index - this is a speed optimisation.
Referenced by GetForageLocIndex(), KillThis(), Goose_Barnacle_FamilyGroup::KillThis(), Goose_Greylag_FamilyGroup::KillThis(), Goose_Pinkfoot_FamilyGroup::KillThis(), On_Bang(), st_ChooseForageLocation(), st_Forage(), Goose_Barnacle_Base::st_ToRoost(), Goose_Greylag_Base::st_ToRoost(), and Goose_Pinkfoot_Base::st_ToRoost().
|
protected |
Holds the goose species type.
Referenced by Goose_Barnacle_NonBreeder::Init(), Goose_Greylag_NonBreeder::Init(), Goose_Pinkfoot_NonBreeder::Init(), Goose_Barnacle_FamilyGroup::Init(), Goose_Greylag_FamilyGroup::Init(), Goose_Pinkfoot_FamilyGroup::Init(), KillThis(), Goose_Barnacle_FamilyGroup::KillThis(), Goose_Greylag_FamilyGroup::KillThis(), Goose_Pinkfoot_FamilyGroup::KillThis(), On_Bang(), On_Migrate(), st_ChooseForageLocation(), st_Forage(), Goose_Barnacle_Base::st_ToRoost(), Goose_Greylag_Base::st_ToRoost(), and Goose_Pinkfoot_Base::st_ToRoost().
|
protected |
The Goose Memory.
Referenced by EvaluateForageToHopLoc(), Goose_Barnacle_FamilyGroup::KillThis(), Goose_Greylag_FamilyGroup::KillThis(), Goose_Pinkfoot_FamilyGroup::KillThis(), On_Bang(), st_ChooseForageLocation(), st_Dying(), st_Forage(), StartDay(), and ~Goose_Base().
|
protected |
Temporary storage for a memory location polygon id.
Referenced by st_ChooseForageLocation(), and st_Forage().
|
protected |
The current roost location.
Referenced by ChooseHopLoc(), Goose_Barnacle_Base::ChooseHopLoc(), Goose_Greylag_Base::ChooseHopLoc(), Goose_Pinkfoot_Base::ChooseHopLoc(), EvaluateForageToHopLoc(), GetRoost(), On_Bang(), st_ChooseForageLocation(), Goose_Barnacle_Base::st_ToRoost(), Goose_Greylag_Base::st_ToRoost(), and Goose_Pinkfoot_Base::st_ToRoost().
|
protected |
Holds goose species.
Referenced by EvaluateForageToHopLoc(), GetSpecies(), Goose_Barnacle_Base::Init(), Goose_Greylag_Base::Init(), Goose_Pinkfoot_Base::Init(), st_ChooseForageLocation(), st_Forage(), and StartDay().
|
protected |
This is a time saving pointer to the correct population manager object.
Referenced by Goose_Barnacle_Base::ChangeRoost(), Goose_Greylag_Base::ChangeRoost(), Goose_Pinkfoot_Base::ChangeRoost(), EvaluateForageToHopLoc(), Goose_Barnacle_Base::Init(), Goose_Greylag_Base::Init(), Goose_Pinkfoot_Base::Init(), KillThis(), Goose_Barnacle_FamilyGroup::KillThis(), Goose_Greylag_FamilyGroup::KillThis(), Goose_Pinkfoot_FamilyGroup::KillThis(), On_Bang(), On_Migrate(), st_ChooseForageLocation(), st_Forage(), st_Roost(), Goose_Barnacle_Base::st_ToRoost(), Goose_Greylag_Base::st_ToRoost(), Goose_Pinkfoot_Base::st_ToRoost(), and StartDay().
|
protected |
|
staticprotected |
The current snow depth. Held here for speed optimization.
Referenced by AdjustIntakeRateToSnowDepth(), and StartDay().
|
protected |
A variable describing current body condition averaged over 5 days.
Referenced by AddBodyCondition(), GetBodyCondition(), StartDay(), and SubtractBodyCondition().
|
protected |
The weight of the bird in gram excluding fat reserve.
Referenced by StartDay().
|
protected |
The weight of the bird in g including fat reserve.
Referenced by GetFlightCost(), GetTotalWeight(), and StartDay().